package com.ai.agent.demo.invoke;

import jakarta.annotation.Resource;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * Spring AI 框架调用 AI 大模型（阿里）
 * 避免写Controller接口的方法：
 *      CommandLineRunner 接口和 @Component 注解搭配使用，主要用于在 Spring 应用启动完成后执行一段初始化逻辑
 */
@Component
public class SpringAiAiInvoke implements CommandLineRunner {

    @Resource
    private ChatModel dashscopeChatModel;

    @Override
    public void run(String... args) throws Exception {
        AssistantMessage assistantMessage = dashscopeChatModel.call(new Prompt("你好，你可以用中文说你的作用吗"))
                .getResult()
                .getOutput();
        System.out.println(assistantMessage.getText());
    }
}
